1. Field of the Invention
The field of the invention is the allocation of physical memory to processes executed by a computerized machine.
2. Background Information
The physical memory of a computerized or data processing machine or arrangement is conventionally divided into physical pages, each of which contains the same number of eight-bit bytes. A process accesses an eight-bit byte by means of an address, of which, for example, the most significant such as the high-order or general left-end bits encode a physical page number and the least significant such as the low-order or right-end bits encode a displacement in the physical page to reach the eight-bit byte accessed.
To run a process, a certain number of physical pages are allocated to the process. The physical pages allocated to a process are selected from a list of available pages, i.e. of pages that are not already being used, for example, by another process. A virtual addressing space makes it possible to allocate only a limited number of physical pages that are actually necessary at a given moment of the execution of the process. A virtual memory manager then establishes a correspondence between a virtual page number that is being accessed by the process and a physical page number selected from the list of available pages.
In similar systems, the allocation of physical pages is carried out on the basis of the totality of the physical memory by means of a single list of available pages. When a process requests access to a physical page other than one of those that are already allocated to it, and when the number of physical pages in the list of available pages is not sufficient to satisfy this request, the process is placed in a queue. A special replacement process in then activated to generate the available pages among the pages in use, taking care to back up the contents of the used pages that are replaced. When the number of available pages is once again sufficient, the processes placed in the queue are re-activated.
However, the method used in similar systems has a number of disadvantages. When a plurality of processes are being executed by the machine simultaneously, the list of available pages constitutes a bottleneck, because it can only be accessed by one process at a time. When the list of available pages does not contain a sufficient number of available pages, numerous processes may end up in the queue. When the list of available pages once again contains a sufficient number of available pages, the processes in the queue compete for them again, so that the losing processes are once again placed in the queue. The result is that an increase in the size of the physical memory or an increase in the number of processors in the machine does not result in the expected improvement of performance
An object of the invention is to eliminate the disadvantages discussed above.
Another object of the invention is a process for the allocation of physical memory to the processes being run by a computerized or data processing machine that has a physical memory (64, 74, 84, 94) that is divided into a plurality of physical memory zones, each corresponding to a contiguous series of numbers of physical pages (NPP).
The process, on request from a process being executed, activates:
a first function that verifies a number of available pages in a memory zone that is distinguished from the other memory zones by a name (z) specified by the current process, and places said current process in a queue corresponding to said zone designated (z) if the number of available pages is not sufficient in said zone designated (z);
a second function that retrieves a physical page number from a list of available page numbers in said zone distinguished by the name (z) so that it can be used by said current process.
Thus a plurality of physical memory zones can be managed independently, without the execution of processes in one physical memory zone interfering with the execution of processes in another physical memory zone.
The above discussed embodiments of the present invention will be described further hereinbelow with reference to the accompanying figures. When the word xe2x80x9cinventionxe2x80x9d is used in this specification, the word xe2x80x9cinventionxe2x80x9d includes xe2x80x9cinventionsxe2x80x9d, that is, the plural of xe2x80x9cinventionxe2x80x9d. By stating xe2x80x9cinventionxe2x80x9d, the Applicants do not in any way admit that the present application does not include more than one patentably and non-obviously distinct invention, and maintains that this application may include more than one patentably and non-obviously distinct invention. The Applicants hereby assert that the disclosure of this application may include more than one invention, and, in the event that there is more than one invention, that these inventions may be patentable and non-obvious one with respect to the other.